package modelo;



public class Posicion {
	int x;
	int y;

	public Posicion(int x, int y) {
		this.x = x;
		this.y = y;
	}

	public void setX(int x) {
		this.x = x;
	}

	public void setY(int y) {
		this.y = y;
	}

	public int getX() {
		return this.x;
	}

	public int getY() {
		return this.y;
	}
	
	public int calcularDistancia(Posicion p1){
		//No se tiene en cuenta ni los cuadrados ni la raiz ya que 
		//nunca nadie se va a mover en diagonal
		return (Math.abs(this.getX() - p1.getX()) 
					+ Math.abs(this.getY() - p1.getY())); 
	}

	public int distanciaX(int num) {
		return (Math.abs(this.x - num));
	}

	public int distanciaY(int num) {
		return (Math.abs(this.y - num));
	}

	public void aumentarX(int velocidad) {
		this.x = this.x+velocidad; 
	}

	public void aumentarY(int velocidad) {
		this.y = this.y+velocidad;
	}

	public void disminuirX(int velocidad) {
		this.x = this.x-velocidad;
	}
	public void disminuirY(int velocidad) {
		this.y = this.y-velocidad;
	}
	
	public void cambiarPosicion(int velocidad,Vector direccion, int anchoObjVivo, int altoObjVivo){
		this.x = this.x + velocidad*direccion.getX();
		this.y = this.y + velocidad*direccion.getY();
		int anchoPanel = Contenedor.getInstance().getAncho();
		int altoPanel = Contenedor.getInstance().getAlto();
		if (x < 0 ){ 
			  x = 0;
		}
		if (x > anchoPanel - anchoObjVivo){
			  x = anchoPanel - anchoObjVivo;
		}
		if (y < altoObjVivo ){
			  y = altoObjVivo;
		}
		if ( y > altoPanel - altoObjVivo){
			  y = altoPanel - altoObjVivo;
		}
	}

}
